/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Action;

import ActionForm.ListaProductosActionForm;
import BE.Cliente;
import BE.Lineaproducto;
import BE.Producto;
import BL.LineaProductoBL;
import BL.ListaPrecioBL;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import java.util.*;
import javax.servlet.http.HttpSession;

/**
 *
 * @author cecv
 */
public class ListaProductosAction extends org.apache.struts.action.Action {
    
    /* forward name="success" path="" */
    private final static String SUCCESS = "success";
    
    /**
     * This is the action called from the Struts framework.
     * @param mapping The ActionMapping used to select this instance.
     * @param form The optional ActionForm bean for this request.
     * @param request The HTTP Request we are processing.
     * @param response The HTTP Response we are processing.
     * @throws java.lang.Exception
     * @return
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
        throws java.lang.Exception {
      // TODO: implement add method

        ListaProductosActionForm objListaProductosForm = new ListaProductosActionForm(request);

        HttpSession session = request.getSession();

        //Tipocliente objTipoclienteBE = new Tipocliente(objTipoclienteForm);

        ListaPrecioBL objListaPrecioBL = new ListaPrecioBL();

        int intIdCliente= Integer.parseInt((String)session.getAttribute("IdCliente"));

        Cliente objClienteBE = new Cliente(intIdCliente);
//        Tipocliente objTipoClienteBE = new Tipocliente();
//
//        TipoClienteBL objTipoClienteBL = new TipoClienteBL();
//        objTipoClienteBE.setSrlTipocliente(1);/*Falta agregar el id de tipo cliente*/
//
//        objClienteBE.setTipocliente(objTipoClienteBE);
//
//        Tipocliente objTipoCliente = objTipoClienteBL.buscarTipoCliente(objClienteBE);

        List<Integer> arrBonificacion = objListaPrecioBL.cargarListaPrecio(objClienteBE);
        List<Producto> arrProductos = objListaPrecioBL.getObjProductoBL().getArrProducto();
        //List<Cliente> arrClientes = objClienteBL.buscarCliente(objClienteBE);

        LineaProductoBL objLineaProductoBL = new LineaProductoBL();
        objLineaProductoBL.buscarLineaProducto();
        objLineaProductoBL.getArrLineaProducto().add(0,new Lineaproducto(0,"Todos"));

        if((arrProductos!=null)&&(arrProductos.size()>0))
        {
        session.removeAttribute("arrCantidades");
        session.setAttribute("arrLineaProducto", objLineaProductoBL.getArrLineaProducto());
        session.setAttribute("arrProductosBusqueda", arrProductos);
        session.setAttribute("arrProductos", arrProductos);
        session.setAttribute("arrBonificaciones", arrBonificacion);
        return mapping.findForward("mostrarListaProductos");

        }
        else
        {
        request.setAttribute("strMensaje", "El cliente no tiene Productos Disponibles");
        return mapping.findForward("mobMenuPrincipal");
        } }
}
